package com.github.prontera.domain;

import java.util.ArrayList;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.github.prontera.model.BasicDomain;

import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.ToString;

/**
 * sys_tags-标签
 */
@ToString
@EqualsAndHashCode(callSuper = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler", "fieldHandler" }, ignoreUnknown = true)
public class Tags extends BasicDomain {

	private static final long serialVersionUID = 1L;

	/**
	 * 标签名字
	 */
	@ApiModelProperty(value = "标签名字")
	private String lable;
	/**
	 * 标签指
	 */
	@ApiModelProperty(value = "标签指")
	private String value;
	/**
	 * 0:正常,1:禁用
	 */
	@ApiModelProperty(value = "0:正常,1:禁用")
	private Integer status;
	/**
	 * 字典类型
	 */
	@ApiModelProperty(value = "字典类型")
	private String type;
	/**
	 * 字典组类型
	 */
	@ApiModelProperty(value = "字典组类型")
	private String groupType;

	/**
	 * 描述
	 */
	@ApiModelProperty(value = "")
	private String desc;
	/**
	 * 排序
	 */
	@ApiModelProperty(value = "排序")
	private Integer sort;
	/**
	 * 是否是默认值 0:默认, 1:非默认
	 */
	@ApiModelProperty(value = "是否是默认值  0:默认,  1:非默认")
	private Integer hasDefault;
	/**
	 * 所属客户
	 */
	@ApiModelProperty(value = "所属客户")
	private Long clientId;
	/**
	 * 父类id
	 */
	@ApiModelProperty(value = "父类id")
	private Long parentId;
	/**
	 * 父类id
	 */
	@ApiModelProperty(value = "所属节点下级节点")
	private List<Tags> children=new ArrayList<Tags>();
	/**
	 * 字典类型
	 */
	@ApiModelProperty(value = "字典类型")
	private Integer tagType;
	
	private String icon;
	
	public Tags() {

	}

	public Integer getTagType() {
		return tagType;
	}

	public void setTagType(Integer tagType) {
		this.tagType = tagType;
	}

	public String getIcon() {
		return icon;
	}

	public void setIcon(String icon) {
		this.icon = icon;
	}

	public String getLable() {
		return this.lable;
	}

	public void setLable(String lable) {
		this.lable = lable;
	}

	public String getValue() {
		return this.value;
	}

	public void setValue(String value) {
		this.value = value;
	}

	public Integer getStatus() {
		return this.status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public String getType() {
		return this.type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getGroupType() {
		return this.groupType;
	}

	public void setGroupType(String groupType) {
		this.groupType = groupType;
	}

	public String getDesc() {
		return this.desc;
	}

	public void setDesc(String desc) {
		this.desc = desc;
	}

	public Integer getSort() {
		return this.sort;
	}

	public void setSort(Integer sort) {
		this.sort = sort;
	}

	public Integer getHasDefault() {
		return this.hasDefault;
	}

	public void setHasDefault(Integer hasDefault) {
		this.hasDefault = hasDefault;
	}

	public Long getClientId() {
		return this.clientId;
	}

	public void setClientId(Long clientId) {
		this.clientId = clientId;
	}

	public Long getParentId() {
		return this.parentId;
	}

	public void setParentId(Long parentId) {
		this.parentId = parentId;
	}

	public List<Tags> getChildren() {
		return children;
	}

	public void setChildren(List<Tags> children) {
		this.children = children;
	}

}
